The Model Coupling Toolkit

Fork me on GitHub


MCT is a set of open-source software tools for creating coupled models. MCT is fully parallel and can be used to couple message-passing parallel models to create a parallel coupled model. MCT is available as a small library and a set of Fortran90 modules.

MCT provides model interoperability through a simple API. Two models that declare and use MCT datatypes can be coupled with a minimum of effort.

MCT provides the following core coupling services:

MCT can be used in single or multiple executable systems and allows sequential or concurrent execution.

Supported platforms include IBM (Power and BG), Cray XT*, Linux clusters (with Absoft, GNU, Lahey, NAG, PGI, PathScale, or Intel compilers and MPICH, OpenMPI, VMI and/or ChaMPIon/Pro MPI libraries), NEC.

Latest Standalone Release: MCT 2.11.0 -- released February 11, 2021


MCT Users:


Download Software:

MCT Source:
tar files

To run the climate examples, download the mct20_test_dataLE.tar.gz file at the above link and untar it inside the MCT source directory. It will create a directory called "data" with the needed files.

Git repository:

Source code can be browsed: https://github.com/MCSclimate/MCT

To check out the source: git clone https://github.com/MCSclimate/MCT.git

Optional Additional Downloads:

To install these options, first get the source code from one of the above links.
Then place these files in the "MCT" directory and untar.

Big Endian data file for examples [.tar.gz] 3.8MB

NO LONGER SUPPORTED: Babel cross-language interface for MCT [.tar.gz] (0.8MB). C++ and python bindings are available. See babel/README for more information.


Mailing list:

To receive announcements about MCT including bug fixes and new releases, join the MCT mailing list.
This is a low-traffic mailing list.
View the mct-ann archive

Documentation:

Current MCT Application Program Interface (API) Document [pdf]  

Older vesion in HTML [html]  

MPEU (included with MCT) tutorial [pdf]

User's Guide to the Model Coupling Toolkit - Not yet available.
Please see the examples in the MCT distribution above in particular the program examples/climate_sequen1.
Also feel free to ask lots of questions using the email addresses below (for Jacob or Larson).

Main References:

(To reference MCT, please use both of the papers below.)

Larson, Jacob, Ong "The Model Coupling Toolkit: A New Fortran90 Toolkit for Building Multiphysics Parallel Coupled Models." 2005: Int. J. High Perf. Comp. App.,19(3), 277-292. online, [pdf]

Jacob, Larson, Ong "MxN Communication and Parallel Interpolation in CCSM3 Using the Model Coupling Toolkit." 2005: Int. J. High Perf. Comp. App.,19(3), 293-307.online, [pdf]

Other Papers/Talks:

MCT Applications:

Craig, Jacob, Kauffman, Bettge, Larson, Ong, Ding, He, 2005: "Cpl6: The New Extensible High-Performance Parallel Coupler for the Community Climate System Model." Int. J. High Perf. Comp. App.,19(3), 309-327. online, [pdf](preprint)


We welcome feedback and any suggestions for code changes. We also welcome code contributions and will, after review, include them with full credit. Please mail any suggestions to Robert Jacob [email protected] or contribute directly on GitHub

View the Change log


MCT developers:

Robert Jacob
Jay Larson
Ray Loy
Everest Ong


MCT development is supported by the Climate and Environmental Sciences Division of the Office of Biological & Environmental Research, Office of Science, U. S. Department of Energy

MCT has been developed under the following projects: DOE ACPI Avante Garde project, DOE Scientific Discovery through Advanced (SciDAC) Computing program, the Climate Science for a Sustainable Energy Future project and the Energy Exascale Earth System Model project.